Clean up read_key_sequence a bit; reread active keymaps after first event.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 11 Feb 2013 19:21:23 +0000 (14:21 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 11 Feb 2013 19:21:23 +0000 (14:21 -0500)
commit11521f1228e447bb68ff7a48a30148b99323c04e
tree36de4db2e8a32b96fe9ae1ae6a22d913bf918180
parenta175b96efe4c8d07c49366db3f77ab5642c65d55
Clean up read_key_sequence a bit; reread active keymaps after first event.
* src/keyboard.c (read_char, read_char_x_menu_prompt)
(read_char_minibuf_menu_prompt):
Replace nmaps+maps with a single `map' arg.
(follow_key): Operate on a single map.
(active_maps): New function.
(test_undefined): Also return true for nil bindings.
(read_key_sequence): Use active_maps to replace the arrays of keymaps with
a single (composed) keymap.  Remember `first_event' to choose the right
set of active keymaps.  Recompute the set of keymaps after receiving
the first event.  Remove GOBBLE_FIRST_EVENT.
(syms_of_keyboard): Remove inhibit_local_menu_bar_menus.
* src/keyboard.h (read_char): Update declaration.
* src/lread.c (read_filtered_event): Adjust call to read_char.
* lisp/cus-start.el (all): Remove inhibit-local-menu-bar-menus.
etc/NEWS
lisp/ChangeLog
lisp/cus-start.el
src/ChangeLog
src/keyboard.c
src/keyboard.h
src/keymap.c
src/lread.c